package com.zyl.pts.service;

import com.github.pagehelper.PageInfo;
import com.zyl.pts.config.enums.CodeAndMessageEnum;
import com.zyl.pts.domain.bean.FenceHouse;
import com.zyl.pts.domain.dto.FHDTO.FHUpdateOrAddDTO;
import com.zyl.pts.domain.vo.FHVO.FHByIdVO;

import java.util.List;

/**
 * @version v1.0
 * @ProjectName: product_source
 * @Package: com.zyl.pts.service.serviceImpl
 * @ClassName: FHService
 * @Description TODO()
 * @Author 翟玉龙
 * @Date 2024/11/19-15:31
 */
public interface FHService {
    /**
     * 分页多条件查询栏舍信息
     * @param pageNum 页码
     * @param pageSize 页面大小
     * @param fhName 栏舍名称
     * @return {@link PageInfo }<{@link FenceHouse }>
     */
    PageInfo<FenceHouse> getFenceHouseList(int pageNum, int pageSize, String fhName);

    /**
     * 根据栏舍编号查询栏舍信息以及栏圈信息
     * @param fhId 栏舍编号
     * @return {@link FHByIdVO }
     */
    FHByIdVO getFenceHouseById(String fhId);

    /**
     * 新增或修改栏舍信息
     * @param fenceHouse 栏舍信息
     * @return {@link CodeAndMessageEnum }
     */
    CodeAndMessageEnum addOrUpdateFenceHouse(FHUpdateOrAddDTO fenceHouse);

    /**
     * 根据id删除栏舍信息
     * @param fhId 栏舍id
     * @return {@link CodeAndMessageEnum }
     */
    CodeAndMessageEnum deleteFenceHouseById(String fhId);

    /**
     * 根据id列表批量删除
     * @param fhIdList id列表
     * @return {@link CodeAndMessageEnum }
     */
    CodeAndMessageEnum deleteFenceHouseByIdList(List<String> fhIdList);


}
